#ifndef VIDEO_OUTPUT_H
#define VIDEO_OUTPUT_H

#include "event.h"
#include <string>

class VideoOutput
{
public:
    VideoOutput();
    virtual ~VideoOutput();
    
    virtual void initialize(int width, int height, bool fullScreen) = 0;
    virtual void setWindowTitle(const std::string& title) = 0;
    virtual void setFullScreen(bool enabled) = 0;
    virtual void toggleVSync() = 0;
    virtual void swapBuffers() = 0;
    
protected:
    int     m_XPosition;
    int     m_YPosition;
    int     m_Width;
    int     m_Height;
    bool    m_FullScreen;
    bool    m_VSync;
};

#endif
